#ifndef _OPEN_MAX_AL_CTRL_H_
#define _OPEN_MAX_AL_CTRL_H_

#include "OpenMAXAL.h"

//#ifdef OPENMAXALCTRL_EXPORTS
#define OPENMAXAL_CTRL extern "C" __declspec(dllexport)
//#else
//#endif

OPENMAXAL_CTRL void OPENMAXAL_InitMediaResource();
OPENMAXAL_CTRL void OPENMAXAL_UninitMediaResource();
OPENMAXAL_CTRL void OPENMAXAL_OpenFile(LPCWSTR filepath, HWND MainVWhnd,HWND SubVWhnd);
OPENMAXAL_CTRL void OPENMAXAL_PlayFile();
OPENMAXAL_CTRL void OPENMAXAL_Play();
OPENMAXAL_CTRL BOOL OPENMAXAL_CreateMediaPlayerObj(LPCWSTR filepath, HWND MainVWhnd,HWND SubVWhnd);
OPENMAXAL_CTRL BOOL OPENMAXAL_CreateMetadataObj(LPCWSTR filepath);
OPENMAXAL_CTRL void OPENMAXAL_CreateMediaEngine(void);
OPENMAXAL_CTRL void OPENMAXAL_StopFile();
OPENMAXAL_CTRL void OPENMAXAL_Stop();
OPENMAXAL_CTRL void OPENMAXAL_PauseFile();
OPENMAXAL_CTRL void OPENMAXAL_SetVolume(long volume);
OPENMAXAL_CTRL void OPENMAXAL_SetMute(BOOL bMute);
OPENMAXAL_CTRL void OPENMAXAL_GetDuration(XAmillisecond *duration);
OPENMAXAL_CTRL XAresult OPENMAXAL_GetPosition(XAmillisecond *position);
OPENMAXAL_CTRL XAresult OPENMAXAL_Seek(XAmillisecond pos);
OPENMAXAL_CTRL void OPENMAXAL_GetVideoSize();
OPENMAXAL_CTRL void OPENMAXAL_SetVideoFullScreen();
OPENMAXAL_CTRL void OPENMAXAL_SetVideoOriginalScreen();
OPENMAXAL_CTRL void OPENMAXAL_SetVideoWideScreen();
OPENMAXAL_CTRL void OPENMAXAL_SetPlaybackRepeat(BOOL bEnable);
OPENMAXAL_CTRL void OPENMAXAL_SetupMetaData();
OPENMAXAL_CTRL void OPENMAXAL_SetupAudioTrack();
OPENMAXAL_CTRL BOOL OPENMAXAL_SelectAudioTrack(DWORD index);
OPENMAXAL_CTRL void OPENMAXAL_DestroyMediaPlayerObj();
OPENMAXAL_CTRL void OPENMAXAL_DestroyMetadataObj();
#endif